package domain.test;

import java.sql.SQLException;

import dominio.Producto;
import dominio.Usuario;
import junit.framework.*;

public class testProducto extends TestCase{
	
	private Producto pro;
	
	public testProducto() { }
	
	public void testaddUProducto() throws SQLException{
		try{
			
			pro = new Producto("Jamon", "Producto Iberico", 60.5, 10, (long)7,(long)7);
			pro.create(true, true);
			Producto aux = Producto.read("Jamon", true);
			assertEquals("El producto se debe haber registrado con exito",aux.getPrecio(),60.5);
		}catch(Exception e){
			fail();
		}
	}
	
	public void testaddProductofail() throws SQLException{
		try{
			pro = new Producto("Jamon", "Producto Iberico", 60.5, 10, (long)7,(long)7);
			pro.create(true, true);
			Producto aux = Producto.read("Jamon", true);
			fail();
		}catch(Exception e){
			System.out.println("El producto ya esta registrado en la base de datos");
		}
	}
	
	public void testModificarProducto() throws SQLException{
		try{
			Producto prod;
			pro=Producto.read("Jamon", true);
			pro.setName("Jamoncito");
			pro.update(pro, true);
			Producto aux=Producto.read("Jamoncito",true);
			assertEquals("El producto se ha modificado correctamente",aux.getPrecio(),60.5);
		}catch(Exception e){
			fail();
		}
	}
	
	public void testDeleteProducto() throws SQLException{
		try{
			Producto prod, aux;
			pro=Producto.read("Jamon", true);
			pro.delete(true);
			aux=Producto.read("Jamon",true);
			assertNull(aux);
		}catch(Exception e){
			fail();
		}
	}
	


}
